GitHub 통합

Anthropic
Claude에서 열기
이 강좌에 대해 질문하기
노트 복사
LLM용 전체 강좌 노트 복사

Claude Code는 GitHub Actions 내에서 Claude를 실행할 수 있는 공식 GitHub 통합 기능을 제공합니다. 이 통합은 두 가지 주요 워크플로우를 제공합니다: 이슈 및 풀 리퀘스트에 대한 멘션 지원과 자동 풀 리퀘스트 리뷰입니다.

통합 설정하기

시작하려면 Claude에서 /install-github-app을 실행하세요. 이 명령어는 설정 과정을 단계별로 안내합니다:

  • GitHub에 Claude Code 앱 설치
  • API 키 추가
  • 워크플로우 파일이 포함된 풀 리퀘스트 자동 생성

생성된 풀 리퀘스트는 저장소에 두 개의 GitHub Actions를 추가합니다. 병합하면 .github/workflows 디렉터리에 워크플로우 파일이 생성됩니다.

기본 GitHub Actions

통합 기능은 두 가지 주요 워크플로우를 제공합니다:

멘션 액션

이슈 또는 풀 리퀘스트에서 @claude를 사용해 Claude를 멘션할 수 있습니다. 멘션되면 Claude는 다음을 수행합니다:

  • 요청을 분석하고 작업 계획 수립
  • 코드베이스에 대한 전체 접근 권한으로 작업 실행
  • 이슈 또는 PR에 직접 결과 응답

풀 리퀘스트 액션

풀 리퀘스트를 생성할 때마다 Claude가 자동으로:

  • 제안된 변경 사항 리뷰
  • 수정 사항의 영향 분석
  • 풀 리퀘스트에 상세 보고서 게시

워크플로우 커스터마이징

초기 풀 리퀘스트를 병합한 후, 프로젝트 요구에 맞게 워크플로우 파일을 커스터마이징할 수 있습니다. 멘션 워크플로우를 개선하는 방법은 다음과 같습니다:

프로젝트 설정 추가

Claude 실행 전에 환경을 준비하는 단계를 추가할 수 있습니다:

- name: Project Setup
  run: |
    npm run setup
    npm run dev:daemon

커스텀 지침

프로젝트 설정에 대한 컨텍스트를 Claude에 제공하세요:

custom_instructions: |
  The project is already set up with all dependencies installed.
  The server is already running at localhost:3000. Logs from it
  are being written to logs.txt. If needed, you can query the
  db with the 'sqlite3' cli. If needed, use the mcp__playwright
  set of tools to launch a browser and interact with the app.

MCP 서버 구성

Claude에 추가 기능을 부여하기 위해 MCP 서버를 구성할 수 있습니다:

mcp_config: |
  {
    "mcpServers": {
      "playwright": {
        "command": "npx",
        "args": [
          "@playwright/mcp@latest",
          "--allowed-origins",
          "localhost:3000;cdn.tailwindcss.com;esm.sh"
        ]
      }
    }
  }

도구 권한

GitHub Actions에서 Claude를 실행할 때는 허용된 모든 도구를 명시적으로 나열해야 합니다. 이는 MCP 서버를 사용할 때 특히 중요합니다.

allowed_tools: "Bash(npm:*),Bash(sqlite3:*),mcp__playwright__browser_snapshot,mcp__playwright__browser_click,..."

로컬 개발과 달리, GitHub Actions에서는 권한에 대한 단축 방법이 없습니다. 각 MCP 서버의 모든 도구를 개별적으로 나열해야 합니다.

모범 사례

Claude의 GitHub 통합을 설정할 때:

  • 기본 워크플로우로 시작하여 점진적으로 커스터마이징하기
  • 커스텀 지침을 사용하여 프로젝트별 컨텍스트 제공하기
  • MCP 서버 사용 시 도구 권한을 명확하게 지정하기
  • 복잡한 작업 전에 간단한 작업으로 워크플로우 테스트하기
  • 추가 단계 구성 시 프로젝트의 특정 요구 사항 고려하기

GitHub 통합은 Claude를 개발 보조 도구에서 작업 처리, 코드 리뷰, 통찰력 제공을 GitHub 워크플로우 내에서 직접 수행할 수 있는 자동화된 팀원으로 변환합니다.